#include <stdio.h>
// 例题出自 C陷阱和缺陷
int main()
{
    (*(void (*)())0)();
    // 括号先和0 结合
    // void (*p)()  p是一个指针，函数指针， 指向一个函数 ，去掉p后，剩下的是类型
    // 指针指向一个函数  后面的括号代表函数   * 代表是一个指针   void代表该函数的返回值为 void

    // (void (*)()) 括号内是一个类型， 加上括号代表强制类型转换   强制把 0 转换为 函数指针类型
    //  *(void (*)()) 0   该语句代表把强制类型转换后 的 地址(0)  解引用，

    // (*(void (*)())0)();  解引用后  得到一个函数   使用函数，后面的括号为空，表示无具体参数

    return 0;
}